package com.huaxin.device.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.ResponseResult;
import com.huaxin.device.dto.request.AddDeviceZoneReqDTO;
import com.huaxin.device.dto.request.UpdateDeviceZoneReqDTO;
import com.huaxin.device.models.DeviceZone;

public interface DeviceZoneService extends IService<DeviceZone> {
    /**
     * 添加设备区域
     *
     * @param in 添加设备区域参数
     * @return
     */
    ResponseResult<String> addDeviceZone(AddDeviceZoneReqDTO in);

    /**
     * 删除设备区域
     *
     * @param id 设备区域ID
     * @return
     */
    ResponseResult<String> deleteDeviceZone(String id);

    /**
     * 修改设备区域
     *
     * @param in 修改设备区域参数
     * @return
     */
    ResponseResult<String> updateDeviceZone(UpdateDeviceZoneReqDTO in);

    /**
     * 查询设备区域
     *
     * @param id 设备区域ID
     * @return
     */
    ResponseResult<DeviceZone> queryDeviceZone(String id);

    /**
     * 查询设备区域列表
     *
     * @param pageNum    页码
     * @param pageSize   每页数量
     * @param customerId 客户ID
     * @return
     */
    ResponseResult<Page<DeviceZone>> queryDeviceZoneList(Integer pageNum, Integer pageSize, String customerId);
}
